(function ($) {
	/**
	 * 校验器辅助工具
	 */
	$.jqValidatorUtils = $.jqValidatorUtils || {};
	$.extend($.jqValidatorUtils,{
		/**
		 * 是否为空
		 */
		isEmpty : function(str){
			return (str == null) || (str.length == 0);
		},
		/**
		 * 是否是email
		 */ 
		isEmail : function(str){
			var regEx = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
			//var regEx = /^(?:\w+\.?)*\w+@(?:\w\.?)*\w+$/;
			return regEx.test(str);
		},
		/**
		 * 是否是postCode
		 */ 
		isPostCode : function(str){
			var regEx = /^[1-9][0-9]{5}$/;
			return regEx.test(str);
		},
		/**
		 * 是否是电话号码
		 */
		isPhoneNumber : function(str){
			var regEx = /(^(\d{11})$)|(^(\d{6,8})$)|(^((\d{4}|\d{3})-(\d{6,8}))$)|(^((\d{4}|\d{3})-(\d{6,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)|(^((\d{6,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/;
			return regEx.test(str);
		},
		/**
		 * 是否是数字
		 */
		isNumberText : function(str){
			var regEx = /^[-+]?\d+(\.\d+)?$/;
			return regEx.test(str);
		},
		/**
		 * 是否满足最小长度
		 */ 
		isMinLenth : function(str, minLenth) {
			if (str.length >= minLenth)
				return true;
			else
				return false;
		},
		/**
		 * 是否满足最大长度
		 */
		isMaxLenth : function(str, maxLenth) {
			if (str.length <= maxLenth)
				return true;
			else
				return false;
		},
		/**
		 * 是否满足最小值
		 */
		isMinValue : function(str, value) {
			if (str >= value)
				return true;
			else
				return false;
		},
		/**
		 * 是否满足最大值
		 */
		isMaxValue : function(str, value) {
			if (str <= value)
				return true;
			else
				return false;
		},
		
		/**
		 * 日期控件对比
		 */
		compareNumber : function(firstValue, secondValue) {
			var num1 = parseInt(firstValue)
			var num2 = parseInt(secondValue)
			if (num1<=num2)
				return true;
			else
				return false;
		},
		
		/**
		 * 日期控件对比
		 */
		compareDate : function(firstValue, secondValue,element) {
			firstValue = firstValue.replace(/\-/gi,"/");
			secondValue = secondValue.replace(/\-/gi,"/");
			firstValue = new Date(firstValue).getTime();
			secondValue = new Date(secondValue).getTime();
			//var time1 = new Date(date1).getTime();
			//var time2 = new Date(date2).getTime();
			if (firstValue<=secondValue)
				return true;
			else {
				if(secondValue&&secondValue !=null)
				element.val("");
				return false;
			}
				
		},
		/**
		 * 是否满足小数位
		 */
		isRightDecimal:function(element,intPart,decimalNum){
			var intParts = element.replace(/\.[0-9]+$/g,"");
			var regInt = new  RegExp("^[0-9]{0,"+intPart+"}$");
			var reg = new  RegExp("\\\.[0-9]{0,"+decimalNum+"}$");
			if(intParts.length>0) {
				if(decimalNum >0) {
					if(regInt.test(intParts)&&reg.test(element))
					return true;
					else return false;
				}else if(regInt.test(intParts)&&element.indexOf(".")<0)
					return true;
			}
			return false;
		},
		/**
		 * 是否满足自定义验证
		 */
		isCustomExpValue : function(regEx, value) {
			var reg = new  RegExp(regEx);
			return reg.test(value);
		}
	});
})(jQuery);